Digital image processing, such as compression, transmission, browsing and communications is common in the art. Typically early methods of digital image transmission and storage used so-called Pulse Code Modulation (PCM). More recent systems use more complicated digital compression techniques.
In some applications it may be advantageous to arrange a fast intermediate cache between a storage device carrying original images, and the display drives displaying the images on a screen. An example may be when several large megapixel images are to be viewed on a mobile phone display, or when graphical elements, such as PNG images are decoded to be later used in a graphical user interface.
Normally the original resources may be in a compressed file format such as JPEG (as standardized by the Joint Photographic Experts Group according to the standards ITU-T T.81, ISO/IEC IS 10918-1 and ITU-T T.84, see inter alia “The JPEG Handbook”, by W. Pennebaker, J. Mitchell, Van Nostrand Reinhold, 1993), or PNG (Portable Network Graphics, which is a bitmapped image format that employs lossless data compression). Screens commonly display images in a RGB (Red, Green, Blue) format, such as RGB888. In such case it would possible to use for instance the raw RGB565 format or the raw YUV422 format or another well known compression format. It is important to save memory when implementing caches, and other storages comprising many graphical elements. Even if the above raw formats are fairly compact, being in the order of 16 bits per pixel, it would still be desirable to compress the data down to smaller size, while not consuming significantly much more CPU power. Hence, the raw formats are too large, and the compression formats are too slow.